package com.qms.repast.service;


import com.qms.repast.entity.reqbean.ReqDishesInfo;
import com.qms.repast.entity.reqbean.ReqFood;
import com.qms.repast.entity.reqbean.ReqRemark;
import com.qms.repast.entity.reqbean.SearchBean;
import com.qms.repast.entity.reqbean.ShopId;
import com.qms.repast.entity.resbean.BannerBean;
import com.qms.repast.entity.resbean.CityBean;
import com.qms.repast.entity.resbean.DishesInfo;
import com.qms.repast.entity.resbean.FoodBean;
import com.qms.repast.entity.resbean.RemarkBean;
import com.qms.repast.entity.resbean.ShopDetailInfo;
import com.qms.repast.entity.resbean.ShopInfo;
import com.qms.repast.entity.resbean.UserInfo;

import java.util.Map;

import io.reactivex.Observable;
import retrofit2.http.Body;
import retrofit2.http.FieldMap;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;

/**
 * @author 泅渡者
 * @date 2018/6/6 0006.
 * @describe: 用户接口
 */

public interface IUserService {


	/**
	 * 账号密码登陆
	 *
	 * @param params
	 *
	 * @return
	 */
	@FormUrlEncoded
	@POST("api-customer/user/firstKind/login.do")
	Observable<UserInfo> getLogin (@FieldMap Map<String, String> params);

	/**
	 * 获取城市列表
	 *
	 * @return
	 */
	@POST("api-customer/third/findCityAll")
	Observable<CityBean> getCityList ();

	/**
	 * 获取首页轮播图
	 *
	 * @return
	 */
	@POST("api-customer/banner/getBannerList.do")
	Observable<BannerBean> getBannerList ();

	/**
	 * 获取店铺列表
	 *
	 * @param searchBean
	 *
	 * @return
	 */
	@POST("api-customer/shop/third/searchShop")
	Observable<ShopInfo> getShopList (@Body SearchBean searchBean);

	/**
	 * 获取店铺基本信息
	 *
	 * @param shopId
	 *
	 * @return
	 */
	@POST("api-customer/shop/third/queryShopInfo")
	Observable<ShopDetailInfo> getShopInfo (@Body ShopId shopId);

	/**
	 * 获取店铺菜品列表
	 *
	 * @param reqFood
	 *
	 * @return
	 */
	@POST("qmsitem/c/third/queryShopItems")
	Observable<FoodBean> getFoodList (@Body ReqFood reqFood);

	/**
	 * 获取店铺菜品详情
	 *
	 * @param reqDishesInfo
	 *
	 * @return
	 */
	@POST("qmsitem/c//third/queryItemDetail")
	Observable<DishesInfo> getDishInfo (@Body ReqDishesInfo reqDishesInfo);

	/**
	 * 获取店铺备注数据
	 *
	 * @param reqRemark
	 *
	 * @return
	 */
	@POST("qmsitem/itemSettings/getRemarkTen")
	Observable<RemarkBean> getRemarks (@Body ReqRemark reqRemark);
}
